import type {
  SysFilePageQo,
  SysFileVo,
} from '#/system/file/file'
import { http } from '@/utils/request/index'

/**
 * 获取文件信息分页列表
 * @param params 查询参数
 * @returns 文件信息列表
 */
export function getSysFilePageListApi(params: SysFilePageQo) {
  return http.request<PageResult<SysFileVo>>('get', '/admin-api/system/sysFile/sysFilePage', {
    params,
  })
}

/**
 * 删除文件信息
 * @param idList 文件信息id列表
 * @returns 文件信息id
 */
export function deleteSysFileApi(idList: string[]) {
  return http.request<string>('post', '/admin-api/system/sysFile/sysFileRemove', {
    params: {
      idList: idList.join(','),
    },
  })
}

/**
 * 上传文件（公开）
 * @param data 文件
 */
export function uploadPublicFileApi(data: Blob, fileName: string) {
  const formData = new FormData()
  formData.append('file', data, fileName)
  return http.request<SysFileVo>('post', '/admin-api/system/file/upload/public', {
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data',
    },
  })
}
